import {
  config
} from "../common/config"
import { upload } from "../config/api"
/**
 * 判断是否需要添加前缀
 * @param {String} 图片链接
 * @return {String} 
 */
export const prefixURL = (Url) => {
  if (!Url) return
  return Url = Url.indexOf('http') == -1 ? `${config.staticURL}${Url}` : Url

}
/**
 * 上传文件
 * @param {String} 临时路径
 * @param {Object} 携带参数
 * @return {String}
 */
export const _upload = (url, formData = {}) => {
  return new Promise((resolve, reject) => {
    uni.uploadFile({
      url: `${config.uploadURL}${upload}`, // 仅为示例，非真实的接口地址
      filePath: url,
      name: 'file',
      formData,
      success: (res) => {
        resolve(JSON.parse(res.data).data.url);
      },
    });
  });
  upload(row)
}
export const setCache = (name, data) => {
  try {
    uni.setStorageSync(name, data);
  } catch (e) {
    console.log(e)
  }
}

export const getCache = (name) => {
  let data;
  try {
    data = uni.getStorageSync(name);
  } catch (e) {
    console.log(e);
  }
  return data;
}

/**
 * 
 * @description 格式化时间
 * @param time
 * @param cFormat
 * @returns {string|null}
 */
export const parseTime = function(time, cFormat, is_number = false) {
  if (arguments.length === 0) {
    return null;
  }
  const format = cFormat || "{y}-{m}-{d} {h}:{i}:{s}";
  let date;
  if (typeof time === "object") {
    date = time;
  } else {
    if (typeof time === "string" && /^[0-9]+$/.test(time)) {
      time = parseInt(time);
    }
    if (typeof time === "number" && time.toString().length === 10) {
      time = time * 1000;
    }
    date = new Date(time);
  }
  const formatObj = {
    y: date.getFullYear(),
    m: date.getMonth() + 1,
    d: date.getDate(),
    h: date.getHours(),
    i: date.getMinutes(),
    s: date.getSeconds(),
    a: date.getDay(),
  };
  const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
    let value = formatObj[key];
    if (key === "a") {
      if (is_number) {
        return ["7", "1", "2", "3", "4", "5", "6"][value];
      } else {
        return ["日", "一", "二", "三", "四", "五", "六"][value];
      }
    }
    if (result.length > 0 && value < 10) {
      value = "0" + value;
    }
    return value || 0;
  });
  return time_str;
}